The present invention relates to a database for data management based on table, and more particularly to a database system suitable to rebalance data among shared database files at the time of changing the number of storages for storing therein table data as divided.
B. Bergsten et al., “Overview of Parallel Architectures for Databases”, THE COMPUTER JOURNAL, Vol. 36, No, 8, 1993, pp. 734-740 teaches an architecture wherein the processing load of a relational database management system (RDBMS) is distributed into a plurality of processors for parallel execution. D. J. DeWitt et al., Parallel Database Systems: The future of Database Processing or a Passing Fad?, SIGMOND RECORD, Vol. 19, No. 4, December 1990, pp. 104-112 discloses a database system wherein table data are stored as divided in a plurality of disks (storages) for distribution of disk access in RDBMS.
One of such conventional table division systems is a hash division system in which a hash function is used for values of columns which make up a table for uniform division. In this system, since table data are uniformly stored in respective disks (storages), a load can be uniformly distributed thereinto.
However, as the amount of data increases, this will involve lack of capacities of the storages or performance deterioration. To avoid this, it becomes necessary to increase the number of disks for storage of table data by increasing the number of divisions.
U.S. Pat. Nos. 6,145,067; 5,917,999 and 5,564,116 disclose disk array systems wherein, when a storage is added, data rebalance among shared database files has to be carried out concurrently with data access (read, write). In the data rebalance technique of these disk array systems, however, it is necessary to share information on, e.g., position during data rebalance. In other words, in order that a node for accepting an access request obtains information during data rebalance, it is required to perform data transfer between associated nodes for data rebalance and then to inform its information to the node for acceptance of the access request, thus resulting in generation of a communication overhead.
Accordingly, even when the data rebalance technique in the aforementioned disk array systems is applied to a database system, it is difficult to effectively execute the data rebalance processing and data access parallelly or concurrently. That is, it is required in the database that the data rebalance and data access be executed concurrently while eliminating the need for sharing information such as a position during the data rebalance.
The problem in the prior art is that database processing such as search, update, delete or insert to a table cannot be executed during data rebalance execution caused by changing the number of storages for storing tables.